From 7e96a519539ab87d522ef42b2a3dac71ef18c2b8 Mon Sep 17 00:00:00 2001 From: Matthias Clasen Date: Tue, 23 Nov 2010 16:35:28 -0500 Subject: [PATCH] Add examples for frame rendering --- docs/reference/gtk/Makefile.am | 3 ++- docs/reference/gtk/images/frames.png | Bin 0 -> 3393 bytes gtk/gtkstylecontext.c | 18 +++++++++++--- tests/styleexamples.c | 35 ++++++++++++++++++++++++--- 4 files changed, 48 insertions(+), 8 deletions(-) create mode 100644 docs/reference/gtk/images/frames.png diff --git a/docs/reference/gtk/Makefile.am b/docs/reference/gtk/Makefile.am index 9af5bd6935..62f4556b8c 100644 --- a/docs/reference/gtk/Makefile.am +++ b/docs/reference/gtk/Makefile.am @@ -346,7 +346,8 @@ HTML_IMAGES = \ $(srcdir)/images/options.png \ $(srcdir)/images/arrows.png \ $(srcdir)/images/expanders.png \ - $(srcdir)/images/background.png + $(srcdir)/images/background.png \ + $(srcdir)/images/frames.png # Extra options to supply to gtkdoc-fixref FIXXREF_OPTIONS=--extra-dir=../gdk/html \ diff --git a/docs/reference/gtk/images/frames.png b/docs/reference/gtk/images/frames.png new file mode 100644 index 0000000000000000000000000000000000000000..12d6c7efc79e99da2386602b19658e34fc85eacb GIT binary patch literal 3393 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 literal 0 HcmV?d00001 diff --git a/gtk/gtkstylecontext.c b/gtk/gtkstylecontext.c index dbde6231ee..205a7e6990 100644 --- a/gtk/gtkstylecontext.c +++ b/gtk/gtkstylecontext.c @@ -2986,7 +2986,7 @@ gtk_render_option (GtkStyleContext *context, * Renders an arrow pointing to @angle. * * - * Typical arrow renderings at 0, 1&solidus;2 π, π and 3&solidus;2 π + * Typical arrow rendering at 0, 1&solidus;2 π, π and 3&solidus;2 π * * * @@ -3029,7 +3029,9 @@ gtk_render_arrow (GtkStyleContext *context, * * * Typical background rendering, showing the effect of - * @border-image, @border-width and @border-radius + * background-image, + * border-widthborder-radius * * * @@ -3069,6 +3071,16 @@ gtk_render_background (GtkStyleContext *context, * * Renders a frame around the rectangle defined by @x, @y, @width, @height. * + * + * Examples of frame rendering, showing the effect of + * <parameter>border-image</parameter>, + * <parameter>border-color</parameter>, + * <parameter>border-width</parameter>, + * <parameter>border-radius</parameter> and + * junctions + * + * + * * Since: 3.0 **/ void @@ -3108,7 +3120,7 @@ gtk_render_frame (GtkStyleContext *context, * determines whether the expander is collapsed or expanded. * * - * Typical expander renderings + * Typical expander rendering * * * diff --git a/tests/styleexamples.c b/tests/styleexamples.c index a382c8868d..c43336f4f6 100644 --- a/tests/styleexamples.c +++ b/tests/styleexamples.c @@ -132,13 +132,40 @@ draw_cb_frame (GtkWidget *widget, cairo_t *cr) provider = (GtkStyleProvider *)gtk_css_provider_new (); gtk_css_provider_load_from_data (GTK_CSS_PROVIDER (provider), - ".frame {\n" + ".frame1 {\n" " border-image: url('gradient1.png') 10 10 10 10 stretch;\n" - " border-style; solid\n" - "}\n", -1, NULL); + "}\n" + ".frame2 {\n" + " border-style: solid;\n" + " border-color: rgb(255,0,0);\n" + " border-width: 10;\n" + " border-radius: 10;\n" + "}\n" + ".frame3 {\n" + " border-style: solid;\n" + " border-color: rgb(0,0,0);\n" + " border-width: 2;\n" + " border-radius: 10;\n" + "}\n", + -1, NULL); gtk_style_context_add_provider (context, provider, GTK_STYLE_PROVIDER_PRIORITY_APPLICATION); + + gtk_style_context_add_class (context, "frame1"); gtk_style_context_set_junction_sides (context, 0); - gtk_render_frame (context, cr, 12, 12, 25, 25); + gtk_render_frame (context, cr, 12, 12, 50, 50); + gtk_style_context_remove_class (context, "frame1"); + + gtk_style_context_add_class (context, "frame2"); + gtk_render_frame (context, cr, 74, 12, 50, 50); + gtk_style_context_remove_class (context, "frame2"); + + gtk_style_context_add_class (context, "frame3"); + gtk_style_context_set_junction_sides (context, GTK_JUNCTION_RIGHT); + gtk_render_frame (context, cr, 12, 74, 56, 50); + gtk_style_context_set_junction_sides (context, GTK_JUNCTION_LEFT); + gtk_render_frame (context, cr, 68, 74, 56, 50); + gtk_style_context_remove_class (context, "frame3"); + gtk_style_context_remove_provider (context, provider); gtk_style_context_restore (context); -- 2.30.2